Ignore GrabBroken events which are caused by overgrabbing inside the
authorMatthias Clasen <mclasen@redhat.com>
Mon, 27 Jun 2005 21:06:33 +0000 (21:06 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 27 Jun 2005 21:06:33 +0000 (21:06 +0000)
commitb2343762b19efb428b3fb47f0a7b66a41c785cba
tree2fe76ba6e85d14ee1f04633b7a5058da4ba69a3d
parentf49eab1248fb7bfebd295b1ecd07e5019ee8fcac
Ignore GrabBroken events which are caused by overgrabbing inside the

2005-06-27  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore
GrabBroken events which are caused by overgrabbing inside
the application; menus rely on these for their operation.

* gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a
grab_window field.

* gdk/win32/gdkevents-win32.c (gdk_event_translate): Set
grab_window to NULL when generating GrabBroken events for
WM_KILLFOCUS messages.

* gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap)
(_gdk_xgrab_check_destroy): Set grab_window to NULL when
generating GrabBroken events when the grab window becomes
unviewable or is destroyed.

* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
Generate GrabBroken events when overriding a grab inside
the application. In this case, set grab_window to the new
grab_window.
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
docs/reference/ChangeLog
docs/reference/gdk/tmpl/event_structs.sgml
gdk/gdkevents.h
gdk/win32/gdkevents-win32.c
gdk/x11/gdkmain-x11.c
gtk/gtkmenushell.c